コンソールとAWS CLIからAWS Security Hubのメンバーアカウントを追加・招待してみた
AWS Security HubはAWS Organizationsの利用に関係なく、 セキュリティ管理者アカウントと監視されるメンバアカウントを関連付けることができます。
今回は、コンソールとAWS CLIから手動で関連付ける方法を紹介します。
AWS Organizationsを利用していてシームレスに関連付けたい場合は、次の記事を参照ください。
- [アップデート]Security Hubが AWS Organizations と統合!組織内セキュリティチェック環境を簡単にセットアップ/管理できるようになりました | DevelopersIO
- Organizations 環境で AWS Security Hub を全リージョンへ簡単セットアップする | DevelopersIO
スクリプトでマルチアカウント・マルチリージョンに一括で関連付けたい場合は、次の記事を参照ください。
関連付けのフロー
管理者・メンバアカウントそれぞれで作業が必要です。
AWS Security Hubの有効化
管理者・メンバーアカウントそれぞれでAWS Security Hubを有効化してください。
管理者アカウント:メンバアカウントを追加
作業アカウント : 管理者アカウント
コンソール
設定→アカウントから、メンバアカウントを追加します。
アカウントID,Eメールアドレス
フォーマットのCSVファイルを指定し、メンバアカウントを一括登録することもできます。
CLI
CreateMembers API を実行します。
$ aws securityhub create-members \ --account-details '[{"AccountId": "123"}, {"AccountId": "789"}]' { "UnprocessedAccounts": [] }
この時点で、メンバーアカウントのステータスは Created
になります。
関連付けが完了していないため、 メンバ一覧の表示には --no-only-associated
オプションを渡します。
$ aws securityhub list-members { "Members": [] } $ aws securityhub list-members --no-only-associated { "Members": [ { "AccountId": "123", "MasterId": "456", "AdministratorId": "456", "MemberStatus": "Created", "UpdatedAt": "2021-10-22T11:31:48.385000+00:00" } ] }
管理者アカウント:メンバアカウントを招待
作業アカウント : 管理者アカウント
コンソール
設定→アカウントのメンバアカウント一覧で、Status:Created
なアカウントに存在する Invite
リンクをクリックし、招待します。
CLI
InviteMembers API を実行します。
$ aws securityhub invite-members \ --account-ids 123 789 { "UnprocessedAccounts": [] }
この時点で、メンバーアカウントのステータスは Invited
になります。
メンバアカウント:招待を受諾
作業アカウント : メンバアカウント
コンソール
設定→アカウントで管理者アカウントからの招待を確認できます。
Accept
ボタンから承諾します。
CLI
メンバアカウントからは、招待した管理者カウントIDと招待IDを確認できます。
$ aws securityhub list-invitations { "Invitations": [ { "AccountId": "456", "InvitationId": "b4be53e50b7f5c61b79e7a39d9c7a1ee", "InvitedAt": "2021-10-22T11:36:51.710000+00:00", "MemberStatus": "Invited" } ] }
これらの情報を渡して、招待を受諾します。
$ aws securityhub accept-administrator-invitation \ --administrator-id 456 \ --invitation-id b4be53e50b7f5c61b79e7a39d9c7a1ee
招待を受諾後、メンバーアカウントのステータスは Invited
から Enabled
になりました。
$ aws securityhub get-administrator-account { "Administrator": { "AccountId": "456", "InvitationId": "b4be53e50b7f5c61b79e7a39d9c7a1ee", "InvitedAt": "2021-10-22T11:36:51.710000+00:00", "MemberStatus": "Enabled" } }
管理者アカウント:メンバアカウントを確認
作業アカウント : 管理者アカウント
コンソール
設定→アカウントで管理者アカウントから、 Enabled
になったメンバアカウントを確認できます。
CLI
関連付けが完了しているため、--no-only-associated
オプション無しにメンバアカウントを確認できます。
$ aws securityhub list-members { "Members": [ { "AccountId": "123", "MasterId": "456", "AdministratorId": "456", "MemberStatus": "Enabled", "InvitedAt": "...", "UpdatedAt": "..." } ] }